/**
 * @Description: 主程序
 * @Author: wangyun
 * @Date: 2023/03/09
 */
package main

import (
	"flag"
	"fmt"
	"os"
	"path/filepath"
	"strings"

	"learning.com/edu/app"
)

func main() {
  // 获取命令行参数
  var configPath string
  // 解析命令行参数
  flag.StringVar(&configPath, "config", "config-dev.yaml", "Server config file path")
  flag.Parse()

  // 获取当前用户目录
  currentDir, err := os.Getwd()
  if err != nil {
    fmt.Println("Error:", err)
    return
  }

  if !strings.HasPrefix(configPath, "/") {
    configPath = filepath.Join(currentDir, configPath)
  }

  // 创建应用程序
  app, err := app.New(configPath, currentDir)
  if err != nil {
    fmt.Println("Error:", err)
    return
  }
  // 运行应用程序
  err = app.Run()
  if err != nil {
    fmt.Println("Error:", err)
    return
  }

  // 获取配置文件路径
  // configPath := filepath.Join(currentDir, "config-dev.yaml")
  // config, err := models.NewConfig(configPath, currentDir)
  // if err != nil {
  //   fmt.Println("Error:", err)
  //   return
  // }
  // fmt.Println(config)
}